Using AspectJ to Implement Product-Lines: A Case Study
نویسنده
چکیده
Aspect-Oriented Programming (AOP) is an emerging technology whose goal is to modularize concerns that cross-cut multiple classes. The purpose of this report is to describe how one of the main representatives of AOP, namely AspectJ, was used to implement a simple yet illustrative product-line of graph algorithms so that we can focus on the implementation details. We expect that studies like this can shed light on the applicability of AOP beyond the traditional examples of logging and debugging.
منابع مشابه
Towards Crosscutting Metrics for Aspect-Based Features
Features are increments in program functionality and are the building blocks of product lines. Typical implementation of features using Object Oriented techniques commonly crosscuts several classes and interfaces. There exist many techniques that implement crosscuts, of which Aspect Oriented ones distinguish themselves by their support of dynamic crosscuts expressed with advice. Despite being a...
متن کاملFlexible Feature Binding with AspectJ-based Idioms
In Software Product Lines (SPL), we can bind reusable features to compose a product at different times, which in general are static or dynamic. The former allows customizability without any overhead at runtime. On the other hand, the latter allows feature activation or deactivation while running the application with the cost of performance and memory consumption. To implement features, we might...
متن کاملStability of Product Lines with Composition Filters: An Exploratory Study
With system development becoming increasingly incremental, design stability stands out as one of the most desirable software quality attributes. Development of stable software systems is particularly challenging in the domain of software product lines (SPLs), where their core architecture, set of features, and multiple products are continuously evolving. Contemporary programming languages, such...
متن کاملFrom Crosscutting Concerns to Product Lines: A Function Composition Approach
AspectJ in the synthesis of a non-trivial product line previAbstract Aspects offer sophisticated mechanisms to modularize crosscutting concerns. Aspect Oriented Programming (AOP) has been successfully applied to many domains; however, its application to product line engineering has not been thoroughly explored. Features are increments in program functionality and are building blocks of software...
متن کاملReducing the Complexity of AspectJ Mechanisms for Recurring Extensions
Aspect-Oriented Programming (AOP) aims at modularizing crosscutting concerns. AspectJ is a popular AOP language extension for Java that includes numerous sophisticated mechanisms for implementing crosscutting concerns modularly in one aspect. The language allows to express complex extensions, but at the same time the complexity of some of those mechanisms hamper the writing of simple and recurr...
متن کامل